package com.sqlcheck.service;

import com.sqlcheck.entity.ScanTask;
import com.sqlcheck.entity.ScanResult;

import java.util.List;

/**
 * 报告服务接口
 * 专门处理各种报告的生成和导出功能
 */
public interface ReportService {
    
    /**
     * 生成Excel格式的扫描报告
     * 
     * @param task 扫描任务信息
     * @param scanResults 扫描结果列表
     * @return Excel文件的字节数组
     */
    byte[] generateExcelReport(ScanTask task, List<ScanResult> scanResults);
    
    /**
     * 生成PDF格式的扫描报告
     * 
     * @param task 扫描任务信息
     * @param scanResults 扫描结果列表
     * @return PDF文件的字节数组
     */
    byte[] generatePdfReport(ScanTask task, List<ScanResult> scanResults);
    
    /**
     * 生成HTML格式的扫描报告
     * 
     * @param task 扫描任务信息
     * @param scanResults 扫描结果列表
     * @return HTML内容字符串
     */
    String generateHtmlReport(ScanTask task, List<ScanResult> scanResults);
    
    /**
     * 生成报告文件名
     * 
     * @param task 扫描任务信息
     * @param format 报告格式 (excel, pdf, html)
     * @return 文件名
     */
    String generateReportFileName(ScanTask task, String format);
}